home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 59454 / 59454.xpi / content / util / DOMUtils.js < prev    next >
Text File  |  2010-01-14  |  2KB  |  55 lines

  1.  
  2. // create a namespace for our Utils.
  3. var BartDOMUtils = BartModule.createNamespace("bart.ibrowser.DOMUtils");
  4.  
  5. /**
  6.  * Get current selected text in current document.
  7.  * TODO: this is for Firefox only. Need to support other browsers.
  8.  */
  9. BartDOMUtils.getSelectedText = function()
  10. {
  11.     /*var focusedWindow = document.commandDispatcher.focusedWindow;
  12.     var selection = focusedWindow.getSelection();
  13.     if(selection)
  14.     {
  15.         selection = selection.toString().trim();
  16.     }
  17.  
  18.     return selection;*/
  19.     if (window.getSelection)
  20.     {
  21.         // This technique is the most likely to be standardized.
  22.         // getSelection() returns a Selection object, which we do not document.
  23.         return window.getSelection().toString();
  24.     }
  25.     else if (document.getSelection)
  26.     {
  27.         // This is an older, simpler technique that returns a string
  28.         return document.getSelection();
  29.     }
  30.     else if (document.selection)
  31.     {
  32.         // This is the IE-specific technique.
  33.         // We do not document the IE selection property or TextRange objects.
  34.         return document.selection.createRange().text;
  35.     }
  36.     return "";
  37. };
  38.  
  39.  
  40. /**
  41.  * Remove all children of a DOM object
  42.  */
  43. BartDOMUtils.removeAllChildren = function(domObject)
  44. {
  45.     if(domObject && domObject.childNodes
  46.         && domObject.childNodes.length
  47.         && (typeof domObject.childNodes.length == "number"))
  48.     {
  49.         while(domObject.childNodes.length > 0)
  50.         {
  51.             domObject.removeChild(domObject.childNodes[0]);
  52.         }
  53.     }
  54. };
  55.